#ifndef WOBBLEPARAM_H
#define WOBBLEPARAM_H

#include <QObject>

/**
 * @brief The WobbleParam class
 * 抖动参数
 */
class WobbleParam
{
public:
    WobbleParam(){}

    // Getter methods
    bool isEnabled() const { return mEnabled; }
    double transversal() const { return mTransversal; }
    double longitudinal() const { return mLongitudinal; }
    uint frequency() const { return mFreq; }
    uint mode() const { return mMode; }

    // Setter methods
    void setEnabled(bool enabled) { mEnabled = enabled; }
    void setTransversal(double offset) { mTransversal = offset; }
    void setLongitudinal(double offset) { mLongitudinal = offset; }
    void setFrequency(uint freq) { mFreq = freq; }
    void setMode(uint mode) { mMode = mode; }

private:
    bool mEnabled = false;          //抖动是否启用
    double mTransversal = 0;      //抖动横向偏移mm
    double mLongitudinal = 0;     //抖动纵向偏移mm
    uint mFreq = 0;             //抖动频率
    uint mMode = 0;             //抖动模式
};

#endif // WOBBLEPARAM_H
